import top.malaoshi.data.DataColumn;
import top.malaoshi.data.DataTable;
import top.malaoshi.util.Out;

public class S1建表 {

    /**
     * 建表、指定列
     * @param args
     */
    public static void main1(String[] args) {
        // 建表
        DataTable dt = new DataTable("t_user");

        // 指定列、类型
        dt.columns().add("id");
        dt.columns().add("username", DataColumn.Type.TEXT);
        dt.columns().add("password", DataColumn.Type.TEXT);
        dt.columns().add("age", DataColumn.Type.INT);
        dt.columns().add("height", DataColumn.Type.DOUBLE);


        Out.println("表名：",dt.getName());
        Out.println("所有列名", dt.columns() );

    }
    // 添加重复列
    public static void main(String[] args) {
        // 建表
        DataTable dt = new DataTable("t_user");

        // 指定列、类型
        dt.columns().add("id");
        dt.columns().add("username", DataColumn.Type.TEXT);
        dt.columns().add("password", DataColumn.Type.TEXT);
        dt.columns().add("age", DataColumn.Type.INT);
        dt.columns().add("height", DataColumn.Type.DOUBLE);
//        dt.columns.add("username", DataColumn.Type.DOUBLE);


        Out.println("表名：",dt.getName());
        Out.println("所有列名", dt.columns() );

    }
    static DataTable ready(){
        // 建表
        DataTable dt = new DataTable("t_user");

        // 指定列、类型
        dt.columns().add("id");
        dt.columns().add("username", DataColumn.Type.TEXT);
        dt.columns().add("password", DataColumn.Type.TEXT);
        dt.columns().add("age", DataColumn.Type.INT);
        dt.columns().add("height", DataColumn.Type.DOUBLE);

        return dt;
    }
    // 获取列信息
    public static void main2(String[] args) {

        DataTable dt = ready();

        // 根据列名获取 DataColumn 对象
        DataColumn dc = dt.columns().get("username");
        Out.println("根据列名获取 DataColumn",dc);

//        DataColumn dc2 = dt.columns.get("username2"); // 报错，不存在该列名
//        Out.println("",dc2);

        // 根据列索引获取 DataColumn 对象
        DataColumn dc3 = dt.columns().get(1);
        Out.println("根据索引获取 DataColumn",dc3);

//        DataColumn dc4 = dt.columns.get(5); // 报错，不存在该列
//        Out.println("",dc4);
    }

    // 遍历列信息
    public static void main3(String[] args) {
        DataTable dt = ready();

        for(int i = 0,count = dt.columns().count() ; i<count;i++){
            DataColumn dataColumn = dt.columns().get(i);
            Out.println("",dataColumn.getName(),dataColumn.getType());
        }
    }



}
